package net.maku.express.biza.service.packagecollect;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import net.maku.express.biza.controller.collectExpress.vo.CollectExpressSelectiveVO;
import net.maku.express.biza.controller.packagecollect.vo.PackageCollectAddRequestVO;
import net.maku.express.biza.controller.packagecollect.vo.PackageCollectOrderVO;
import net.maku.express.biza.controller.packagecollect.vo.PackageCollectSelectAddRequestVO;
import net.maku.express.biza.controller.packagecollect.vo.PackageCollectSelectRequestVO;
import net.maku.express.biza.controller.packagecollect.vo.PackageCollectPageVO;
import net.maku.express.biza.controller.packagecollect.vo.PackageCollectStatusRequestVO;
import net.maku.express.biza.vo.PackageCollectVO;
import net.maku.framework.common.utils.Result;

/**
 * 散件荷包
 */
public interface PackageCollectService {

    /**
     * 查询
     * @return
     */
    Result<Page<PackageCollectPageVO>> select(PackageCollectSelectRequestVO packageCollectRequestVO);

    Result<List<PackageCollectPageVO>> select1(PackageCollectSelectAddRequestVO packageCollectRequestVO);

    /**
     * 新增数据
     * @param packageCollectVO
     * @return
     */
    Result<String> addData(PackageCollectVO packageCollectVO);

    /**
     * 删除数据
     * @return
     */
    Result<Integer> deleteData(Long id);

    /**
     * 更新合包数据
     * @param packageCollectVO
     * @return
     */
    Result<Integer> updateData(PackageCollectVO packageCollectVO);


    Result<String> getBoxNO();

    Result<Integer> updateBoxState(PackageCollectStatusRequestVO statusRequestVO);

    Result<List<CollectExpressSelectiveVO>> updateOutboundStateByIds(List<Long> id);

    Result<PackageCollectVO> selectOne(Long id);

    Result<List<PackageCollectOrderVO>> selectOrder(Long id);

    Result<PackageCollectPageVO> selectPrintData(Long id);

    public Result<Integer> outWarehouse(List<Long> idList);

}
